package com.orm.mapping.xmltag;


import java.util.ArrayList;
import java.util.List;

// 树干节点
public class WhereSqlNode implements SqlNode {
	private List<SqlNode> nodes;
	
	public WhereSqlNode() {
		nodes = new ArrayList<>();
	}
	
	public void addSqlNode(SqlNode node) {
		nodes.add(node);
	}
	
	@Override
	public String apply(DynamicContext context) {
		boolean whereFlag = false;
		for (SqlNode node : nodes) {
			String ifString = node.apply(context);
			if (!ifString.isEmpty()) {
				if (!whereFlag) {
					whereFlag = true;
					context.append(" where ");
				} else {
					context.append(" and ");  // 无论如何都用 and 连接
				}
				context.append(ifString);
			}
		}
		return "";
	}
}
